package com.michale.framework.security.service;

import io.swagger.annotations.Api;

/**
 * @author Michale
 * @apiNote 自定义权限
 */
@Api(value = "自定义权限服务类")
public interface MyPermissionService {

    /**
     * 验证用户是否具备某权限
     *
     * @param permission 权限字符串
     * @return 用户是否具备某权限
     */
    boolean isPermission(String permission);

    /**
     * 验证用户是否不具备某权限
     *
     * @param permission 权限字符串
     * @return 用户是否不具备某权限
     */
    boolean notPermission(String permission);

    /**
     * 判断用户是否拥有某个角色
     *
     * @param permission 角色字符串
     * @return 用户是否拥有某个角色
     */
    boolean hasRole(String permission);

    /**
     * 判断用户是否不拥有某个角色
     *
     * @param permission 角色字符串
     * @return boolean
     */
    boolean notHasRole(String permission);
}
